package cn.iocoder.yudao.module.dr.dal.mysql.data;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.dr.controller.admin.data.vo.DataPageReqVO;
import cn.iocoder.yudao.module.dr.dal.dataobject.data.DataDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.dr.controller.admin.data.vo.*;

/**
 * 数据共享 Mapper
 *
 * @author 管理员
 */
@Mapper
public interface DataMapper extends BaseMapperX<DataDO> {

    default PageResult<DataDO> selectPage(DataPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<DataDO>()
                .likeIfPresent(DataDO::getDataName, reqVO.getDataName())
                .eqIfPresent(DataDO::getDataNum, reqVO.getDataNum())
                .eqIfPresent(DataDO::getDataCount, reqVO.getDataCount())
                .eqIfPresent(DataDO::getDataSource, reqVO.getDataSource())
                .eqIfPresent(DataDO::getDataDesc, reqVO.getDataDesc())
                .eqIfPresent(DataDO::getAttachFile, reqVO.getAttachFile())
                .eqIfPresent(DataDO::getShareStatus, reqVO.getShareStatus())
                .eqIfPresent(DataDO::getDataUrl, reqVO.getDataUrl())
                .betweenIfPresent(DataDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(DataDO::getId));
    }

}